this._backgroundGroup.add_child(widget);
- widget.add_effect(new Shell.BlurEffect({
+ const themeContext = St.ThemeContext.get_for_stage(global.stage);
+
+ let effect = new Shell.BlurEffect({
brightness: BLUR_BRIGHTNESS,
- sigma: BLUR_SIGMA,
- }));
+ sigma: BLUR_SIGMA * themeContext.scale_factor,
+ });
+
+ this._scaleChangedId = themeContext.connect('notify::scale-factor', () => {
+ effect.sigma = BLUR_SIGMA * themeContext.scale_factor;
+ });
+
+ widget.add_effect(effect);
}
_updateBackgrounds() {
Main.layoutManager.disconnect(this._monitorsChangedId);
delete this._monitorsChangedId;
}
+
+ let themeContext = St.ThemeContext.get_for_stage(global.stage);
+ if (this._scaleChangedId) {
+ themeContext.disconnect(this._scaleChangedId);
+ delete this._scaleChangedId;
+ }
}
cancel() {